The present embodiments relate to calculating an image in the context of a volume visualization by ray casting using a plurality of computing nodes.
Volume rendering relates to the representation or visualization of three-dimensional bodies or objects. The modeling, reconstruction or visualization of three-dimensional objects is used in the fields of medicine (e.g. CT, PET), physics (e.g. electron structure of large molecules) or geophysics (characteristics and location of earth layers). The object to be examined is irradiated (e.g. by electromagnetic waves or sound waves) in order to investigate its properties. The scattered radiation is detected and characteristics of the body are determined from the detected values. The determined result generally represents a physical variable (e.g. density, tissue type, elasticity, speed) whose value is determined for the body. To determine the value of the physical variable, a virtual grid may be used. The value of the variable is determined at the grid points of the virtual grid. These grid points are generally referred to as voxels. The term “voxel” is a portmanteau formed from the terms “volume” and “pixel.” A voxel corresponds to the space coordinate of a grid point to which the value of a variable is assigned at this location. The value is a physical variable that can be represented as a scalar or vector field. The space coordinate is assigned the corresponding field value. The value of the variable or field at arbitrary object points (i.e. at any location points of the examined object) may be obtained by interpolating the voxels.
By using volume rendering, a three-dimensional visualization (representation) of the examined object or body is generated from the voxels on a two-dimensional display surface (e.g. screen). The “pixels” are generated by the volume rendering from the voxels (frequently with the intermediate stage of object points obtained from the voxels by interpolation). The image of the two-dimensional image display is composed of the pixels. To visualize three dimensions on a two-dimensional display, an alpha compositing (or alpha decomposition) may be applied. With this standard method, voxels or volume points formed from voxels are assigned both color values and transparency values (usually designated by the term “opacity,” which expresses the permeability or, as the case may be, coverage effect of different layers of the body). An object point may be assigned a color value in the form of a three-tuple, which encodes the percentages of the colors red, green and blue (called the RGB value), and an alpha value, which parameterizes the opacity.
An illumination model may be used to assign a suitable color value. The illumination model takes into account light effects (usually reflections of the light on surfaces of the object including the outer surface or surfaces of inner layers of the examined object) in a modeled or simulated irradiation of the object for the purposes of visualization.
A series of illumination models may be used, for example, the Phong, Gouraud or Schlick model. To use the models, an angle between the incident light and the surface normal of the reflecting surface may be required. For this purpose the gradient and from it the normal vector for the voxels or object points is determined for the models.
One method for volume rendering is referred to as ray casting or the simulation of a light irradiation for the purpose of representing or visualizing the body. Elements of a ray casting visualization technique are described below. With ray-casting or ray tracing, as it also called for volume visualization, imaginary rays that radiate from the eye of the viewer are sent through the examined body or the examined object. Along the rays, object points are calculated from the voxels and combined to form a two-dimensional image by compositing. The following two procedures are carried out. The procedures can be performed separately from each other or in combination with each other.
Classification: Opacity values or alpha values are assigned to the values along the rays.
Shading: Color values are assigned to the individual points with the aid of an illumination model.
Object points on a ray are determined for the ray in (typically) equidistant steps (intervals). Classification and shading are performed for each object point. The result for color value and opacity value for the calculated object point is iteratively combined with the already calculated values. Color value and opacity value are present for the traversed or calculated ray section, with which values the color value and opacity value for the currently calculated object point are combined for the purpose of a volume visualization (the term “compositing” is often used). The result for the color value after the ray has passed through is then yielded by a pixel. The totality of pixels that were generated by the generation of rays is composed into a two-dimensional image area on which a three-dimensional representation of the examined body may be seen.
Owing to the high number of voxels required for a sharp representation of the examined object or body, the computing overhead is considerable. There is the requirement to perform the calculations as quickly as possible in order to allow the viewer the possibility of the change in perspective (associated with a recalculation of the image) when viewing the visualized object. For the purpose of a fast calculation it is usual to distribute the computing load over a plurality of computing units (computing nodes, processors).